Multi-stop route selection system

ABSTRACT

A multi-stop route selection system may include a telematics device associated with a vehicle having one or more sensors arranged therein, a mobile device, and a server computer. The server computer may receive driving data of a driver of the vehicle and a vehicle location from the telematics device, determine one or more driving behaviors of the driver based on the driving data, receive data regarding a calendar of the driver from the mobile device, identify a plurality of appointments in the calendar, determine a route comprising multiple destinations for the driver based on the vehicle location, the one or more driving behaviors, and the plurality of appointments, transmit the route to the mobile device, receive a request to add a new destination to the route from the mobile device, generate a modified route comprising the new destination, and transmit the modified route for the driver to the mobile device.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 16/004,512 filed Jun. 11, 2018, which is a continuation of U.S.patent application Ser. No. 15/353,252, filed Nov. 16, 2016, issued asU.S. Pat. No. 10,024,671 on Jul. 17, 2018. The patent applicationsidentified above are incorporated by reference herein in their entirety

BACKGROUND

Mobile devices, such as smartphones, tablet computers, and other typesof mobile computing devices, are becoming increasingly popular for avariety of purposes. In some cases, mobile devices, such as smartphones,make people's lives easier by allowing them to connect with variousapplications and complete different tasks quickly. For example, usersmay employ mobile devices in personal and business settings to managetheir work, connect with others, manage finances, participate in socialmedia, play games, navigate to various destinations, and the like.

Users may utilize their mobile devices while at home, at work, at thegrocery store, or even while commuting. That is, it may become moreprevalent for users to employ their mobile devices while driving intheir vehicles. Users may operate their mobile devices while driving toand from several destinations. For example, a driver may have a busyschedule at work and may use his or her phone to prepare for his or herwork day and/or navigate to one or more locations for various meetings.In another example, a driver may have various errands to do and may usehis or her mobile device to navigate to locations for each errand usinghis or her mobile phone.

Ultimately, users may depend on a variety of mobile applications (e.g.,applications designed specifically for use with specially designedmobile device operating systems) while driving in order to navigatedirections, listen to music, communicate with others, access theircalendars before a busy work day, or for other varying services providedby the mobile applications. Unfortunately, many of the mobileapplications require users to enter a relatively large amount of userinformation, and the mobile applications might not be able to learnpatterns from the user's behaviors or environment in order to provideaccurate and intuitive services that are customized to each user.

In some cases, it may be beneficial for users to have access to acustomized service that provides navigation for users while driving andenhances each user's driving experience with their mobile devices. Assuch, new systems, methods, and devices may be desired to leverage thecapabilities of mobile devices in providing navigation to users in animproved and efficient manner.

BRIEF SUMMARY

In light of the foregoing background, the following presents asimplified summary of the present disclosure in order to provide a basicunderstanding of some aspects of the invention. This summary is not anextensive overview of the invention. It is not intended to identify keyor critical elements of the invention or to delineate the scope of theinvention. The following summary merely presents some concepts of theinvention in a simplified form as a prelude to the more detaileddescription provided below.

Aspects of the disclosure address one or more of the issues mentionedabove by describing computerized methods, systems, devices, andapparatuses for a multi-stop route selection system that integratescalendar information, telematics information, driving behaviors, drivingrisks, and/or preferences to provide drivers with customized andintuitive navigation. For example, the system may analyze a user'scalendar, habits, driving behaviors, and the like to determineappointments and appropriate stops for the user while driving. The usermay interface with the route selection system by utilizing a routeselection mobile application on the user's mobile device. In anotherexample, the route selection system may analyze the risk of variousroutes to select and optimize a route for a driver based on safety andefficiency. In some embodiments, the route selection system maycommunicate with application program interfaces, data analyticsplatforms, and/or third-party platforms that provide one or more ofweather information, traffic information, road safety information, riskinformation, or the like.

The disclosure describes a system comprising a telematics deviceassociated with a vehicle having one or more sensors arranged therein, amobile device associated with a driver of the vehicle, and a servercomputer comprising hardware including a processor and memory. Theserver computer may be configured to receive, from the one or moresensors and via the telematics device, driving data of a driver of thevehicle and a vehicle location, determine one or more driving behaviorsof the driver based on the driving data, receive, from the mobiledevice, data regarding a calendar of the driver, identify a plurality ofappointments in the calendar of the driver, determine a route comprisingmultiple destinations for the driver based on the vehicle location, theone or more driving behaviors of the driver, and the plurality ofappointments in the calendar of the driver, transmit the route for thedriver to the mobile device, receive, from the mobile device, a requestto add a new destination to the route for the driver, modify the routeto include the new destination, resulting in a modified route comprisingthe new destination, and transmit the modified route for the driver tothe mobile device.

The disclosure also describes an apparatus comprising at least oneprocessor, a network interface configured to communicate, via a network,with a telematics device and a first computing device, and a memorystoring computer-readable instructions that, when executed by the atleast one processor, cause the apparatus to receive, from the telematicsdevice, driving data of a driver of a vehicle and a vehicle location,determine one or more driving behaviors of the driver based on thedriving data, receive, from the first computing device, data regarding acalendar of the driver, identify a plurality of appointments in thecalendar of the driver, determine a route comprising multipledestinations for the driver based on the vehicle location, the one ormore driving behaviors of the driver, and the plurality of appointmentsin the calendar of the driver, transmit the route for the driver to thefirst computing device, receive, from the first computing device, arequest to add a new destination to the route for the driver, modify theroute to include the new destination, resulting in a modified routecomprising the new destination, and transmit the modified route for thedriver to the first computing device.

In addition, aspects of this disclosure provide a method that includesreceiving, from a telematics device associated with a vehicle having oneor more sensors arranged therein, driving data of a driver of thevehicle and a vehicle location, determining, by one or more computingdevices, one or more driving behaviors of the driver based on thedriving data, receiving, from a mobile device associated with the driverof the vehicle, data regarding a calendar of the driver, identifying, bythe one or more computing devices, a plurality of appointments in thecalendar of the driver, determining, by the one or more computingdevices, a route comprising multiple destinations for the driver basedon the vehicle location, the one or more driving behaviors of thedriver, and the plurality of appointments in the calendar of the driver,transmitting, by the one or more computing devices, the route for thedriver to the mobile device, receiving, from the mobile device, arequest to add a new destination to the route for the driver, modifying,by the one or more computing devices, the route to include the newdestination, resulting in a modified route comprising the newdestination, and transmitting, by the one or more computing devices, themodified route for the driver to the mobile device.

Of course, the methods and systems of the above-referenced embodimentsmay also include other additional elements, steps, computer-executableinstructions or computer-readable data structures. In this regard, otherembodiments are disclosed and claimed herein as well. The details ofthese and other embodiments of the present invention are set forth inthe accompanying drawings and the description below. Other features andadvantages of the invention will be apparent from the description,drawings, and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and is notlimited, by the accompanying figures in which like reference numeralsindicate similar elements and in which:

FIG. 1 depicts a block diagram of an example route selection device thatmay be used in accordance with one or more example embodiments.

FIG. 2 depicts an example network environment in which various aspectsof the present disclosure may be implemented in accordance with one ormore example embodiments.

FIG. 3 depicts a flow diagram of example method steps in accordance withone or more example embodiments.

FIG. 4 depicts a flow diagram of example method steps in accordance withone or more example embodiments.

DETAILED DESCRIPTION

In accordance with various aspects of the disclosure, computerizedmethods, systems, devices, and apparatuses are disclosed that provide anintuitive route selection system for determining routes with multiplestops for drivers. In particular, the route selection system mayintegrate calendar information, telematics information, drivingbehaviors, driving risks, road safety, traffic conditions, and driverpreferences to provide drivers with customized navigation to variousdestinations or locations corresponding to appointments, meetings, orother events in a driver's calendar. In some cases, the route selectionsystem may be referred to as a multi-stop route selection tool or amulti-stop route selection manager as described herein.

The present disclosure teaches a route selection system that may bebeneficial for allowing drivers to engage safely with navigationservices on their mobile devices through a route selection mobileapplication while driving. The route selection system may be integratedacross a plurality of platforms and may be deployed by an insuranceprovider that offers navigation services and benefits to drivers (e.g.,insurance policy holders). That is, the insurance provider may offerroute selection services or benefits to drivers who are insurance policyholders with registered accounts, wherein the drivers may have opted infor the route selection program. In some cases, the insurance providermay offer limited route selection services to drivers without registeredaccounts (e.g., non-customers) as a way of incentivizing the drivers tobecome insurance policy holders.

In particular, the route selection system may collect driving data froma telematics device in a driver's vehicle and/or from the driver'smobile device. For example, a mobile application may be installed on thedriver's mobile device in order to monitor driving data using one ormore sensors of the mobile device. The driving data may includereal-time data that is collected by one or more sensors (e.g.,accelerometer, GPS, gyroscope, and the like) while the driver isdriving, such as the driver's speeds, accelerations, braking, GPScoordinates, the vehicle location, and the like. Based on the collecteddriving data, the route selection system may determine driving behaviorsof the driver. For example, driving behaviors may be based on a driver'sspeed, acceleration, braking, steering, turn signals, number of milesdriven for a trip, amount of time driven or trip duration, roadcondition ratings, and the like.

Additionally, the route selection system may interface with a driver'smobile device to provide customized navigation based on the driver'scalendar or tasks list. For example, the route selection system mayreceive data regarding a calendar of the driver from the driver's mobiledevice. In some embodiments, the route selection system may access thedriver's calendar and parse the data to identify locations and times foreach appointment in the driver's calendar. For example, the driver mayhave a calendar application on his or her mobile application with aschedule of appointments, including times and locations of eachappointment. The calendar may include descriptions and addresses foreach scheduled appointment in the driver's calendar.

Appointments in the driver's calendar may include any meetings orappointments, such as meetings at work (e.g., team meetings, conferencecalls, video or teleconferences, etc.), lunch appointments, doctors'appointments, parent-teacher meetings, and the like. Appointments in thedriver's calendar may also include reminders regarding holidays orimportant dates for the driver to remember, such as birthdays,anniversaries, and the like. Appointments in the driver's calendar mayfurther include any errands or tasks in the driver's calendar. Forexample, a driver may schedule times in his or her calendar as remindersto attend different events or perform various tasks, such as picking upfood for dinner on his or her way home from work, picking updry-cleaning, dropping off and/or picking up his or her kids (e.g., ator from school, a soccer game, dance recital, band practice, and thelike), taking his or her vehicle to a repair shop or car dealership formaintenance (e.g., oil changes, tire rotations, car repairs, etc.) andthe like. In some embodiments, some of the errands or tasks in thedriver's calendar might not be scheduled for a specific time and may beperformed at any time at which the driver is available.

The route selection system may identify each of the appointments (e.g.,meetings, errands, and/or tasks) in the driver's calendar and determinea customized route comprising multiple destinations for the driver basedon the vehicle location, the one or more driving behaviors of thedriver, and the plurality of appointments in the driver's calendar. Forexample, the multiple destinations in the route may correspond to thelocations for each appointment in the driver's calendar. In order todetermine the route, the route selection system may analyze a drivinghistory of the driver to calculate an average length of time it takesthe driver to reach the location for each appointment in the calendar ofthe driver. For example, the driver may frequently travel to certainlocations (e.g., work, home, school, doctor's office, or the like), andthe route selection system may be able to keep track of these locationsand the amount of time that it takes for the driver to typically reachthese locations. The route selection system may determine the customizedroute comprising the multiple destinations based on the time of eachappointment in the driver's calendar and the average length of time ittakes the driver to reach the location for each appointment.

In additional embodiments, the route selection system may also identifyerrands or tasks that are unscheduled or not assigned to a specific timein the driver's calendar. For example, the driver may need to pick updry-cleaning or go shopping, but these tasks might not be scheduled suchas a doctors' appointment or a work meeting, and may be of lowerpriority to the driver. Thus, the route selection system may identifylocations corresponding to these tasks and determine whether theselocations can be included in the route comprising the multipledestinations. In other words, the route selection system may be able toidentify and assign priority levels to the multiple appointments in thedriver's calendar and navigate the driver to the appointments with thehigher priority levels first.

The route selection system may also determine the route further based onat least one of risk scores, road safety, traffic, and weather. Forexample, certain routes may have a higher risk score than other routesbecause of the number of accidents that occur on the roads or dangerousintersections with a greater number of collisions than otherintersections. In another example, some roads, such as two-way countryroads, bridges, highways, and the like, may be more dangerous thanothers to drive on during hazardous weather conditions (e.g., heavyrain, thunderstorms, thick fog, ice, sleet, wind, flooding, etc.). Thus,the route selection system may account for weather conditions, traffic,and road safety and optimize the route for the driver accordingly. Insome cases, the route selection system may communicate with applicationprogram interfaces (APIs), data analytics platforms, and/or third-partyplatforms that provide weather information, traffic information, roadsafety information, risk information, and/or the like. Risk informationmay include risk values for road segments, and the route selectionsystem may determine and select less risky travel routes to drive duringstorms or dangerous weather conditions.

Upon determining the route for the driver, the route selection systemmay transmit the route to the mobile device of the driver. In somecases, the driver may either accept the route or request to modify theroute according to his or her preferences. For example, the driver mayhave a preference to take a different route to avoid tollways and/orhighways or to take a different route to avoid flooding on certainstreets. Thus, the driver may wish to modify the route accordingly. Inother cases, the driver may have a new destination to add to themulti-stop route obtained from the route selection system. For example,the calendar of the driver may receive an electronic invitation for anew meeting or appointment, and the driver may wish to update themulti-stop route to include the location of the new meeting orappointment. In particular, the calendar application may receive anelectronic invitation for a new appointment over a network (e.g.,Internet) from a server, such as an email server, and may automaticallyadd the new appointment to the driver's calendar. Thus, the driver maysubmit a request, from his or her mobile device to the route selectionsystem, to add a new destination for the new appointment to the route.In another example, the calendar application installed on the driver'smobile device may automatically transmit a request to the routeselection system to add the new destination to the route.

The route selection system may receive the request to add a newdestination to the route and may modify the route to include the newdestination, resulting in a modified route comprising the newdestination. In some embodiments, the route selection system may modifythe route by identifying priority levels of the multiple destinations inthe route for the driver. For example, each destination in the route maycorrespond to an appointment in the driver's calendar, in which eachappointment may be marked as a different priority level. Priority levelsof the plurality of appointments in the driver's calendar may beindicated by a predetermined color scheme, by a numeric scale, or bylevels corresponding to low, medium, and high priority. In someembodiments, the priority levels of the plurality of appointments in thedriver's calendar may be established by the route selection system, auser, or both. The route selection system may identify the prioritylevels of the plurality of appointments in the driver's calendar andassign priority levels to each destination in a multi-stop route, inwhich the priority levels for each destination correspond to thepriority levels for each appointment.

The route selection system may then assign a priority level to the newdestination based on the corresponding invitation added to the calendarfor the new appointment. For example, the priority level may be based onthe time of the new appointment or based on the priority level withwhich the invitation was transmitted (e.g., by an email server). Theroute selection system may prioritize the multiple destinations in theroute and the new destination according to the order of the assignedpriority levels. In some embodiments, the route selection system mayidentify that the priority level of the new destination has a value thatis higher than the priority levels of the multiple destinations in theroute. Thus, the route selection system may generate a modified routecomprising navigation to the new destination prior to navigation to eachof the multiple destinations. In other embodiments, the route selectionsystem may generate a modified route with navigation to the newdestination for the new appointment after the other appointments in thedriver's calendar. After generation of the modified route, the routeselection system may then transmit the modified route for the driver tothe mobile device. Ultimately, the route selection system may usepriority levels in navigating to various appointments in the driver'scalendar in order to provide the driver with an optimal route that iscustomized according to the driver's preferences and driving behaviors.

In additional embodiments, the route selection system may also be ableto interface with a driver's mobile device in order to capture vehicleinformation, identify maintenance recommendations, and providecustomized navigation to repair shops and/or service centers formaintenance issues. For example, the route selection system may generatea command directing a route selection server to access a camerainstalled on a driver's mobile device in order to allow the driver toscan or photograph a vehicle identification number (VIN) barcode for thedriver's vehicle. The mobile device may then transmit data regarding theVIN barcode for the driver's vehicle to the route selection serverand/or route selection system. Based on the VIN barcode, the routeselection system may identify a make, model, and/or year of the driver'svehicle and identify maintenance recommendations that are specific tothe particular vehicle (e.g., maintenance recommendations that areprovided by a manufacturer of the particular type of vehicle). The routeselection system may integrate the maintenance recommendations into amulti-stop route for the driver. For example, based on the maintenancerecommendations, the route selection system may determine that adriver's vehicle needs an oil change and may prompt the driver (e.g.,through a mobile application on his or her mobile device) with multipleoptions of oil change stations that are on the driver's current route.In some cases, the route selection system may modify the driver's routebased on the priority levels of appointments in the driver's calendar,as well as based on the priority level and urgency of the recommendedmaintenance.

Furthermore, the route selection system may also include back-endservers and subsystems for a route selection mobile application that maybe installed on a driver's mobile device. The route selection mobileapplication may provide one or more user interfaces (e.g., displayed ona screen of the mobile device) including a virtual dashboard thatdisplays the driver's vehicle information, maintenance recommendations,tips, offers, and other information based on a VIN barcode of thedriver's vehicle with dynamic graphic elements. By integrating adriver's calendar, traffic information, vehicle information, maintenanceinformation, maps, and other services with driving behavior andtelematics information, the route selection system may enhance userexperiences while driving and provide navigation to drivers on the roadthrough a virtual dashboard in a safe, efficient, and dynamic manner.

In the following description of the various embodiments, reference ismade to the accompanying drawings, which form a part hereof, and inwhich is shown by way of illustration, various embodiments of thedisclosure that may be practiced. It is to be understood that otherembodiments may be utilized. A person of ordinary skill in the art afterreading the following disclosure will appreciate that the variousaspects described herein may be embodied as a computerized method,system, device, or apparatus utilizing one or more computer programproducts. Accordingly, various aspects of the computerized methods,systems, devices, and apparatuses may take the form of an entirelyhardware embodiment, an entirely software embodiment, or an embodimentcombining software and hardware aspects. Furthermore, various aspects ofthe computerized methods, systems, devices, and apparatuses may take theform of a computer program product stored by one or more non-transitorycomputer-readable storage media having computer-readable program code,or instructions, embodied in or on the storage media. Any suitablecomputer readable storage media may be utilized, including hard disks,CD-ROMs, optical storage devices, magnetic storage devices, and/or anycombination thereof. In addition, various signals representing data orevents as described herein may be transferred between a source and adestination in the form of electromagnetic waves traveling throughsignal-conducting media such as metal wires, optical fibers, and/orwireless transmission media (e.g., air and/or space). It is noted thatvarious connections between elements are discussed in the followingdescription. It is also noted that these connections are general and,unless specified otherwise, may be direct or indirect, wired orwireless, and that the specification is not intended to be limiting inthis respect.

In one or more arrangements, teachings of the present disclosure may beimplemented with a computing device. FIG. 1 illustrates a block diagramof an example route selection device 100 that may be used in accordancewith aspects of the present disclosure. The route selection device 100is a specialized computing device programmed and/or configured toperform and carry out aspects associated with providing route selectionfeatures to drivers as described herein. The route selection device 100may have a route selection manager 101 configured to perform methods andexecute instructions as described herein. The route selection manager101 may be implemented with one or more specially configured processorsand one or more storage units (e.g., databases, RAM, ROM, and othercomputer-readable media), one or more application specific integratedcircuits (ASICs), and/or other hardware components. Throughout thisdisclosure, the route selection manager 101 may refer to the software(e.g., a computer program or application) and/or hardware used toreceive driving data for drivers and current vehicle locations,determine driving behaviors for each driver based on the driving data,receive data regarding a calendar of each driver, identify a pluralityof appointments in the calendar of each driver, determine a routecomprising multiple destinations for each driver based on vehiclelocation, the one or more driving behaviors of each driver, and theplurality of appointments in the calendar of each driver, transmit theroute for each driver to a mobile device of each driver, receive arequest to add one or more new destinations to the route for eachdriver, modify the route to include the one or more new destinations,and transmit the modified route for each driver to the mobile device ofeach driver. Specifically, the route selection manager 101 may be a partof a route selection system that assesses driving behavior data, acurrent vehicle location, and calendar information and determines anoptimized multi-stop route that is transmitted to a driver's mobiledevice. The one or more specially configured processors of the routeselection manager 101 may operate in addition to or in conjunction withanother general processor 103 of the route selection device 100. In someembodiments, the route selection manager 101 may be a software moduleexecuted by one or more general processors 103. Both the route selectionmanager 101 and the general processor 103 may be capable of controllingoperations of the route selection device 100 and its associatedcomponents, including RAM 105, ROM 107, an input/output (I/O) module109, a network interface 111, and memory 113.

The I/O module 109 may be configured to be connected to an input device115, such as a microphone, keypad, keyboard, touchscreen, gesture orother sensors, and/or stylus through which a user or a driver associatedwith the route selection device 100 may provide input data. The I/Omodule 109 may also be configured to be connected to a display device117, such as a monitor, television, touchscreen, and the like, and mayinclude a graphics card. The display device 117 and input device 115 areshown as separate elements from the route selection device 100, however,they may be within the same structure.

Using the input device 115, system administrators may update variousaspects of the route selection system, such as rules, predefinedthreshold values, predetermined ranges, and/or information related toparsing data regarding drivers' calendars in order to identify one ormore appointments, appointment locations, and appointment times fordrivers, analyzing a driving history for each driver to determineaverage lengths of time it takes the driver to reach a location for eachappointment in the calendar, determining routes comprising multipledestinations for each driver based on appointment times, appointmentlocations, and the average lengths of time, assigning priority levelsfor each destination in the route, and generating modified routescomprising navigation to new destinations with higher priority levelsprior to navigation to destinations with lower priority levels. On someroute selection devices 100, the input device 115 may be operated byusers (e.g., drivers each associated with at least one vehicle) tointeract with the route selection system, including receiving orsubmitting information regarding vehicle locations, traffic information,driving behaviors, calendar and/or task information, scheduledappointments, requesting to modify routes, providing or updatingpreferences for route selection services, updating account information,and the like, as described herein. In some embodiments, the input device115 may include a microphone that allows drivers to verify or submitinformation by speech inputs and interact with the route selectionsystem. Additionally or alternatively, the display device 117 may allowdrivers to confirm or view their inputs.

The memory 113 may be any computer readable medium for storing computerexecutable instructions (e.g., software). The instructions stored withinmemory 113 may enable the route selection device 100 to perform variousfunctions. For example, memory 113 may store software used by the routeselection device 100, such as an operating system 119 and applicationprograms 121, and may include an associated database 123.

The network interface 111 allows the route selection device 100 toconnect to and communicate with a network 130. The network 130 may beany type of network, including a local area network (LAN) and/or a widearea network (WAN), such as the Internet. Through the network 130, theroute selection device 100 may communicate with one or more computingdevices 140, such as laptops, notebooks, smartphones, personalcomputers, servers, and the like. The computing devices 140 may includeat least some of the same components as route selection device 100. Insome embodiments the route selection device 100 may be connected to thecomputing devices 140 to form a “cloud” computing environment.

The network interface 111 may connect to the network 130 viacommunication lines, such as coaxial cable, fiber optic cable, and thelike or wirelessly using a cellular backhaul or a wireless standard,such as IEEE 802.11, IEEE 802.15, IEEE 802.16, and the like. In someembodiments, the network interface may include a modem. Further, thenetwork interface 111 may use various protocols, including TCP/IP,Ethernet, File Transfer Protocol (FTP), Hypertext Transfer Protocol(HTTP), and the like, to communicate with other computing devices 140.

FIG. 1 is an example embodiment of a route selection device 100. Inother embodiments, the route selection device 100 may include fewer ormore elements. For example, the route selection device 100 may use thegeneral processor(s) 103 to perform functions of the route selectionmanager 101, and thus, might not include a separate processor orhardware for the route selection manager 101. Additionally, oralternatively, the route selection device 100 may be a mobile device(e.g., a smartphone, tablet, and the like) specially configured toperform or carry out aspects of route selection services describedherein, and thus, may also include various other components, such as abattery, speaker, and/or antennas (not shown). Also, the route selectiondevice 100 may be a telematics device and/or a vehicle computing device(either installed by a vehicle manufacturer or as an aftermarket part)having vehicle compatible elements, such as a port for an on-boarddiagnostic connector or ports for other vehicle sensors (e.g., fuellevel sensors, tire pressure sensors, engine temperature sensors, andthe like). For example, the route selection device 100 may be avehicle's computer or a device plugged into the vehicle's computer foruse in vehicle telematics.

The computerized methods for providing route selection features in orderto enhance each user's driving experience as disclosed herein may beimplemented on one or more route selection devices 100 used in variousnetwork environments. FIG. 2 illustrates an example network environment200 for implementing methods in accordance with aspects of the presentdisclosure.

As shown in FIG. 2 , the network environment 200 may include a network201 configured to connect a route selection system 202, route selectiondevice 212, vehicle 217, and mobile device 220. The route selectiondevice 212 may be the same as or at least similar to the route selectiondevice 100 described above with reference to FIG. 1 . Collectively,these specialized computing devices may form at least a part of a routeselection system. Although only one of each of the components 212, 217,and 220 are shown in FIG. 2 , it is understood that there may be anynumber of components 212, 217, and 220 in the network environment 200.

The network 201 may be any type of network, like the network 130described above, and may use one or more communication protocols (e.g.,protocols for the Internet (IP), Bluetooth, cellular communications,satellite communications, and the like.) to connect computing devicesand servers within the network environment 200 so they may send andreceive communications between each other. In particular, the network201 may include a cellular network and its components, such as celltowers. Accordingly, for example, a mobile device 220 (e.g., asmartphone, flip-phone, tablet, and the like) or a route selectiondevice 212 of a driver associated with vehicle 217 may communicate, viaa cellular backhaul of the network 201, with a route selection system202 to request to participate in route selection services or features.For example, the mobile device 220 or route selection device 212 mayrequest for the route selection system 202 to provide optimizednavigation services to a driver based on identifying appointments in thedriver's calendar. In some cases, the request to provide optimizednavigation services may be performed automatically by the mobile device220 or the route selection device 212 upon receiving telematics datafrom the vehicle 217. For example, the mobile device 220 or routeselection device 212 may identify that a driver is operating the vehicle217 and driving to a certain destination (e.g., recognized based onreceiving telematics data from the vehicle 217), and the mobile device220 or route selection device 212 may automatically parse the driver'scalendar to identify any upcoming appointments for the driver. Inanother example, the mobile device 220 or the route selection device 212of the driver of the vehicle 217 may communicate, via the cellularbackhaul of the network 201, with the route selection system 202 tosubmit information regarding modify the driver's calendar, schedule,and/or tasks or information to update account information and/orpreferences for the route selection services for the vehicle 217.

And in the opposite direction, the route selection system 202 maycommunicate, via the cellular backhaul of the network 201, with themobile device 220 or the route selection device 212 to notify the user(e.g., the driver of vehicle 217) of the mobile device 220 or routeselection device 212 of one or more appointments and/or tasks in thedriver's calendar and notify the user of a customized multi-stop routedetermined based on the location of the vehicle 217, the one or moredriving behaviors of the driver, and the plurality of appointments inthe calendar of the driver. The route selection system 202 may alsocommunicate, via the cellular backhaul of the network 201, with themobile device 220 or the route selection device 212 to receive updatedcalendar information and to transmit modified multi-stop routes to usersat the mobile device 220 or the route selection device 212.

In some embodiments, appointments may include any meetings,teleconferences, errands, tasks, or reminders in a driver's calendar.Appointments may be scheduled or unscheduled and may be assigneddifferent priority levels. In some cases, for each appointment, a drivermay need to drive to various locations to perform different tasks and/orattend meetings; thus, the driver may schedule one or more times in hisor her calendar as reminders on the mobile device 220 or the routeselection device 212. In another embodiment, the mobile device 220and/or route selection device 212 may communicate back and forth withthe route selection system 202 over the Internet, such as through a webportal. As shown in FIG. 2 , it should be understood that the mobiledevice 220 or route selection device 212 may connect to the network evenif it is removed from the vehicle 217.

In an embodiment, there may be multiple vehicles 217 that are covered byan insurance policy of one individual, wherein the individual may besigned up for route selection services for each of his or her vehicles217. Although FIG. 2 illustrates only one vehicle 217, the routeselection system may be configured to communicate with multiple vehicles217 simultaneously (e.g., at or around the same time), and the multiplevehicles 217 may be associated with multiple individuals. The routeselection system 202 may receive driving data and current vehiclelocations for respective drivers of multiple vehicles simultaneously,determine driving behaviors based on the driving data for respectivedrivers simultaneously, receive data regarding calendars for respectivedrivers simultaneously, identify a plurality of appointments in thecalendars for respective drivers simultaneously, determine routescomprising multiple destinations for each respective driversimultaneously based on vehicle location, the one or more drivingbehaviors of each respective driver, and the plurality of appointmentsin the calendar of each respective driver, notify the respective driversof the generated routes simultaneously, receive requests to modify orupdate the routes for each respective driver simultaneously, modify theroutes to include one or more new destinations for each respectivedriver simultaneously, and notify the respective drivers of the modifiedroutes simultaneously. The multiple vehicles 217 may be any type ofvehicle, including a car, motorcycle, bicycle, scooter, drone (or otherautomated device), truck, bus, boat, plane, helicopter, and the like,wherein the multiple vehicles 217 may be the same or may vary.

In an embodiment, there may be a driver associated with the vehicle 217.The driver may be associated with the vehicle 217 if the driver is anowner of the vehicle 217 and/or has access and/or permission to drive oroperate the vehicle 217. Additionally or alternatively, a driver may beassociated with the vehicle 217 if the driver is identified on aninsurance policy that insures the vehicle 217. A driver of the vehicle217 may interact with and operate a route selection device 212. In anembodiment, the route selection device 212 may be a specialized mobiledevice (e.g., mobile phone), a tablet, laptop, personal computer, andthe like configured to perform or carry out aspects associated withroute selection services as described herein. For example, the routeselection device 212 may be the same (e.g., integrated with, includesubstantially the same components and provide substantially the samefunctionality, or the like) as the mobile device 220 depicted in FIG. 2. The route selection device 212 may belong to a driver, individual, orcustomer of an insurance company who is enrolled in the route selectionprogram. In some cases, the route selection device 212 may be at aninsurance provider, and data may be transmitted between the driver andthe device 212. Although only one route selection device 212 isillustrated in FIG. 2 , there may be any number of route selectiondevices 212, wherein each route selection device 212 is associated withat least one driver. The route selection device 212 may further comprisea route selection manager 213, a display 214, and sensors 215. In thecase of a route selection device 212 that is installed in or connectedto a vehicle 217 (e.g., an on-board vehicle computing device), theindividual is considered to operate that route selection device 212 byperforming the installation or connection of that device in or at thevehicle 217. In some embodiments, the route selection device 212 may beconnected with a speaker system in the vehicle 217, so that the drivermay be able to hear audio from the route selection device 212 throughthe speakers in the vehicle 217.

The route selection device 212 may be configured to execute the routeselection manager 213 that presents a user interface (e.g., a graphicaluser interface for a website, application, software program, and thelike) on the display 214. The display 214 may comprise a monitor,television, touchscreen, and the like. The user interface of the routeselection manager 213 may allow drivers to send and receive informationregarding, vehicle locations, traffic information, weather information,risk information, road safety information, driving behaviors, calendarand/or task information, appointment information, and/or customizedroute information. Drivers may also employ the user interface of theroute selection manager 213 to request to modify or update a customizedroute provided by the route selection system 202, and to and updateaccount information or preferences for route selection provided by theroute selection system 202.

The route selection manager 213 may be a self-sufficient program or maybe a module, plug-in, or add-on of another program, such as a programused to collect and/or evaluate driver information representing actionsof a vehicle 217, driving behavior of a driver associated with a vehicle217, and/or status updates of a vehicle 217. The route selection manager213 may have access to driving behavior data that is collected by thesensors 215 of the route selection device 212. The route selectionmanager 213 may be configured in a similar manner as the route selectionmanager 101 or configured to perform similar functions as thoseperformed by the route selection manager 101. The sensors 215 maycomprise various sensors and/or modules that detect driving data,vehicle location, environmental information, and/or other relatedfactors of a driver of a vehicle 217. For example, the sensors 215 maycomprise an accelerometer, speedometer, GPS, gyroscope, camera (or otherimage sensor), audio sensor, pressure sensor, and the like. The routeselection manager 213 may also have access to vehicle information (e.g.,a vehicle identification number (VIN), make, model, and/or year of avehicle of a driver), driving data, and/or other information that iscollected by the sensors 215 of the route selection device 212. Forexample, the sensors 215 may include fuel level sensors, tire pressuresensors, car engine sensors, oxygen sensors, temperature sensors, watersensors, coolant sensors, position sensors, oil pressure gauges and thelike. Each of these sensors 215 may be used to monitor various metricsof the vehicle 217 to ensure that the vehicle 217 is properlyfunctioning under safe operating conditions.

In an embodiment, the route selection manager 213 may be downloaded orotherwise installed onto the route selection device 212 using knownmethods. Different devices may install different versions of the routeselection manager 213 depending on their platform. A driver may launchthe route selection manager 213 by, for example, operating buttons or atouchscreen on the route selection device 212 or by speech or a voiceinput. Additionally, or alternatively, the route selection device 212may be configured to execute a web browser (e.g., an application foraccessing and navigating the Internet) to access a web page providing aninterface for the route selection system. In some embodiments, the routeselection device 212 may also be configured to collect information, suchas driving data. For example, the route selection manager 213 or anotherprogram installed on the route selection device 212 may instruct theroute selection device 212 to collect driving data in or near real-timeusing the various sensors 215 and/or vehicle sensors 218 (e.g.,accelerometer, speedometer, GPS, gyroscope, magnetometer, car enginesensors, oxygen sensors, temperature sensors, water sensors, coolantsensors, position sensors, oil pressure gauges, and the like). Drivingdata may include real-time data regarding a driver's speed,acceleration, braking, steering, turn signals, and the like. The routeselection manager 213 may determine driving behavior data based on thedriving data. For example, drivers may exhibit different drivingbehaviors, such as staying within or going above posted speed limits orengaging in or avoiding sudden braking or sharp turning events whiledriving vehicle 217. Different driving behaviors may affect how quickly(and/or how slowly) a driver will reach a destination in his or hervehicle 217. This information may be used to predict when a vehicle willarrive at a location for an appointment in the driver's calendar.

The route selection manager 213 or another program may also collectlocation information, such as GPS coordinates indicating thegeographical location of the route selection device 212 and/or vehicle217. In some embodiments, based on the collected driving behavior dataand location information, the route selection manager 213 may recognizethat the driver is driving to a certain destination based on the routethat the driver is taking. For example, the route selection manager 213may keep track of locations to which the driver has previously traveledover a period of time (e.g., in the past two days, week, 30 days, twomonths, or another period of time) and maintain this information asdriving history data (which may be stored in a database 206). The routeselection manager 213 may further store an amount of time that it takesthe driver to reach each location and calculate an average length oftime (e.g., 10 minutes, 30 minutes, one hour, or any other length oftime) that it takes for the driver to reach each particular location.

Additionally, the route selection manager 213 may access a calendar ofthe driver, wherein the calendar may be a part of the route selectionmanager 213 or a feature from a different application on the routeselection device 213. The route selection manager 213 may access thecalendar and parse data to identify meetings, appointments, and/or tasksfor the driver, along with corresponding locations and times. In somecases, the calendar may include descriptions and addresses for eachmeeting, appointment, and/or task for the driver.

Appointments may include any work meetings, lunch appointments, doctors'appointments, parent-teacher meetings, or any other appointments ortasks that a driver may add to his or her calendar. For example, adriver may schedule time for tasks or errands (e.g., which may bereferred to as a scheduled meeting), such as picking up food for dinneron the way home, picking up dry-cleaning dropping off and/or pickingkids, taking the driver's vehicle to the repair shop or car dealershipfor maintenance, and the like. In some embodiments, some of the errandsor tasks in the driver's calendar might not be scheduled for a specifictime and may be performed at any time at which the driver is available.The route selection manager 213 or another program installed on theroute selection device 212 may collect driving data over a predeterminedperiod of time, determine driving behaviors and a current vehiclelocation, parse data regarding the driver's calendar, and determinemulti-stop routes with multiple destinations for the driver based on thedriving behaviors, the current vehicle location, and the plurality ofappointments in the driver's calendar, in which each destinationcorresponds to a respective appointment.

For example, the route selection manager 213 may identify the locationand time of each appointment in the driver's calendar and may analyzethe driving history of the driver to determine an average length of timeit takes for the driver to reach the location for each appointment inthe calendar of the driver. Based on the time for each appointment andthe average length of time it takes the driver to reach the location foreach appointment, the route selection manager 213 may determine anoptimized multi-stop route for the driver.

In some embodiments, route selection manager 213 may calculate how longit will take for the driver in vehicle 217 to arrive at a location foran appointment based on the driver's current location, the driver'sprevious and current speeds, the distance between the current locationand the meeting location, the amount of traffic in the driver's route,weather conditions, number of traffic signals on the driver's route,speed limits on the driver's routes, and the like. Based on thiscalculated length of time, the route selection manager 213 may optimizethe navigation route to include a route with less traffic or a routethat the driver prefers in order to assist the driver in getting to hisor her appointment in a timely manner.

In some embodiments, the route selection manager 213 may identifyerrands or tasks that are unscheduled or not assigned to a specific timein the driver's calendar. The route selection manager 213 may identifylocations corresponding to these tasks and determine whether theselocations can be included in the route comprising destinations for themultiple appointments in the driver's calendar. In other words, theroute selection manager 213 may be able to identify and assign prioritylevels to the multiple appointments in the driver's calendar andnavigate the driver to the appointments with the higher priority levelsfirst.

In additional embodiments, the route selection manager 213 may alsodetermine a multi-stop route further based on at least one of riskscores, road safety, traffic, and weather. For example, certain routesmay have a higher risk score than other routes because of the number ofaccidents that occur on the roads or dangerous intersections with agreater number of collisions than other intersections. In anotherexample, some roads, such as two-way country roads, bridges, highways,and the like, may be more dangerous than others to drive on duringhazardous weather conditions (e.g., heavy rain, thunderstorms, thickfog, ice, sleet, wind, flooding, etc.). Thus, the route selectionmanager 213 may account for weather conditions, traffic, and road safetyand optimize the route for the driver accordingly. In some cases, theroute selection manager 213 may communicate with application programinterfaces (APIs) that provide weather information, traffic information,road safety information, risk information, and the like. Riskinformation may include risk values for road segments, and the routeselection system may determine and select less risky travel routes todrive during storms or dangerous weather conditions.

After determining a route for a driver, the route selection manager 213may generate a route for the driver that is outputted on the display 214of the route selection device 212 or transmitted to the driver at his orher mobile device 220. The driver may either accept the route or requestto modify the route according to his or her preferences. For example,the driver may have a preference to take a different route to avoidcertain roads (e.g., toll roads, highways, roadways susceptible toflooding, etc.). Thus, the driver may wish to modify the routeaccordingly. In other embodiments, the driver may have a new destinationto add to the multi-stop route obtained from the route selection manager213. For example, the driver may need to cancel or reschedule anappointment in his or calendar due to a change in his or her schedule,and may wish to modify the multi-stop route to reflect the change madeto his or her schedule. In another example, the calendar of the drivermay receive an electronic invitation for a new meeting or appointment,and the driver may wish to update the multi-stop route to include thelocation of the new meeting or appointment. In particular, the calendarmay be an application installed on the route selection device 212 or themobile device 220, and the calendar application may receive anelectronic invitation for a new appointment over the network 201 from aserver, such as an email server. The calendar application mayautomatically add the new appointment to the driver's calendar. Thus,the driver may submit a request to the route selection system 202, fromhis or her mobile device 220 or from the route selection device 212, toadd a new destination for the new appointment to the route. In anotherexample, the calendar application installed on the driver's mobiledevice 220 or route selection device 212 may automatically transmit arequest to the route selection system 202 to add the new destination tothe route.

The route selection system 202 may receive the request to add a newdestination to the route from the mobile device 220 or the routeselection device 212, and may modify the route by identifying prioritylevels of the multiple destinations in the route for the driver. Forexample, each destination in the route may correspond to an appointmentin the driver's calendar, in which each appointment may be marked as adifferent priority level. Priority levels of the plurality ofappointments in the driver's calendar may be indicated by apredetermined color scheme, by a numeric scale, or by levelscorresponding to low, medium, and high priority. The route selectionsystem 202 may identify the priority levels of the plurality ofappointments in the driver's calendar and assign priority levels to eachdestination in a multi-stop route, in which the priority levels for eachdestination correspond to the priority levels for each appointment.

The route selection system 202 may then assign a priority level to thenew destination based on the corresponding invitation added to thecalendar for the new appointment. For example, the priority level may bebased on the time of the new appointment or based on the priority levelwith which the invitation was transmitted (e.g., by an email server).The route selection system 202 may prioritize the multiple destinationsin the route and the new destination according to the order of theassigned priority levels. In some embodiments, the route selectionsystem 202 may identify that the priority level of the new destinationhas a value that is higher than the priority levels of the multipledestinations in the route. Thus, the route selection system 202 maygenerate a modified route comprising navigation to the new destinationprior to navigation to each of the multiple destinations. In otherembodiments, the route selection system 202 may generate a modifiedroute with navigation to the new destination for the new appointmentafter the other appointments in the driver's calendar. After generationof the modified route, the route selection system 202 may then transmitthe modified route for the driver to the mobile device 220 or the routeselection device 212.

Based on the driver's preferences, the route selection manager 213 mayautomatically determine routes for the driver as described herein orsend requests to the driver to confirm whether the driver would like toproceed with an optimized multi-stop route generated by the routeselection manager 213. The driver associated with the vehicle 217 andassociated with the route selection device 212 may employ the routeselection manager 213 to send, receive, confirm, and/or access at leastone of calendar information, scheduled meeting information (e.g.,including meeting locations and meeting times), estimated arrival times,driving behavior information, account information, andsettings/preferences related to the vehicle 217.

As illustrated in FIG. 2 , vehicle 217 also includes vehicle operationsensor 218 (similar to one or more sensors 215) capable of detecting andrecording various conditions at the vehicle and operational parametersof the vehicle. For example, sensor 218 may detect and store datacorresponding to the vehicle's location (e.g., GPS coordinates), time,travel time, speed and direction, rates of acceleration or braking, gasmileage, and specific instances of sudden acceleration, braking,swerving, and distance traveled. Sensor 218 also may detect and storedata received from the vehicle's 217 internal systems, such as impact tothe body of the vehicle, air bag deployment, headlights usage, brakelight operation, door opening and closing, door locking and unlocking,cruise control usage, hazard lights usage, windshield wiper usage, hornusage, turn signal usage, seat belt usage, phone and radio usage withinthe vehicle, autonomous driving system usage, maintenance performed onthe vehicle, and other data collected by the vehicle's computer systems,including the vehicle on-board diagnostic systems (OBD).

Additional sensors 218 may detect and store the external drivingconditions, for example, external temperature, rain, snow, light levels,and sun position for driver visibility. For example, external camerasand proximity sensors 218 may detect other nearby vehicles, vehiclespacing, traffic levels, road conditions, traffic obstructions, animals,cyclists, pedestrians, and other conditions that may factor into adriving data/behavior analysis.

Sensor 218 also may detect and store data relating to moving violationsand the observance of traffic signals and signs by the vehicle 217.Additional sensors 218 may detect and store data relating to themaintenance of the vehicle 217, such as the engine status, oil level,engine coolant temperature, odometer reading, the level of fuel in thefuel tank, engine revolutions per minute (RPMs), software upgrades,and/or tire pressure.

Vehicle sensor 218 also may include cameras and/or proximity sensorscapable of recording additional conditions inside or outside of thevehicle 217. For example, internal cameras may detect conditions such asthe number of the passengers and the types of passengers (e.g. adults,children, teenagers, pets, etc.) in the vehicles, and potential sourcesof driver distraction within the vehicle (e.g., pets, phone usage, andunsecured objects in the vehicle). Sensor 218 also may be configured tocollect data identifying a current driver from among a number ofdifferent possible drivers, for example, based on driver's seat andmirror positioning, driving times and routes, radio usage, etc.Voice/sound data along with directional data also may be used todetermine a seating position within a vehicle 217. Sensor 218 also maybe configured to collect data relating to a driver's movements or thecondition of a driver. For example, vehicle 217 may include sensors thatmonitor a driver's movements, such as the driver's eye position and/orhead position, etc. Additional sensors 218 may collect data regardingthe physical or mental state of the driver, such as fatigue orintoxication. The condition of the driver may be determined through themovements of the driver or through other sensors, for example, sensorsthat detect the content of alcohol in the air or blood alcohol contentof the driver, such as a breathalyzer, along with other biometricsensors.

Certain vehicle sensors 218 also may collect information regarding thedriver's route choice, whether the driver follows a given route, and toclassify the type of trip (e.g. commute, errand, new route, etc.) andtype of driving (e.g., continuous driving, parking, stop-and-go traffic,etc.). In certain embodiments, sensors and/or cameras 218 may determinewhen and how often the vehicle 217 stays in a single lane or strays intoother lane. A Global Positioning System (GPS), locational sensorspositioned inside the vehicle 217, and/or locational sensors or devicesexternal to the vehicle 217 may be used to determine the route, speed,lane position, road-type (e.g. highway, entrance/exit ramp, residentialarea, etc.) and other vehicle position/location data.

The data collected by vehicle sensor 218 (e.g., driving behavior data)may be stored and/or analyzed within the vehicle 217, such as forexample by a driving analysis computer 224 integrated into the vehicle,and/or may be transmitted to one or more external devices. For example,as shown in FIG. 2 , sensor data may be transmitted via a telematicsdevice 222 to one or more remote computing devices, such as routeselection device 212, mobile device 220, route selection system 202,and/or other remote devices.

As shown in FIG. 2 , the data collected by vehicle sensor 218 may betransmitted to a route selection system 202, route selection device 212,mobile device 220, and/or additional external servers and devices viatelematics device 222. Telematics device 222 may be one or morecomputing devices containing many or all of the hardware/softwarecomponents as the route selection manager 101 depicted in FIG. 1 . Thetelematics device 222 may receive vehicle operation data and drivingdata from vehicle sensor 218, and may transmit the data to one or moreexternal computer systems (e.g., route selection system 202, insurancesystem server of an insurance company, financial institution, or otherentity) over a wireless transmission network. Telematics device 222 alsomay be configured to detect or determine additional types of datarelating to real-time driving and the condition of the vehicle 217. Thetelematics device 217 also may store the type of vehicle 217, forexample, the make, model, trim (or sub-model), year, and/or enginespecifications, as well as other information such as vehicle owner ordriver information, insurance information, and financing information forthe vehicle 217.

In some cases, the telematics device 222 may be a device that is pluggedinto the vehicle's 217 on-board diagnostic (OBD) system (e.g., pluggedin through an OBD II connector) or otherwise installed in the vehicle217 in order to collect data. The telematics device 222 may also collectGPS coordinates, such as through its own GPS receiver. In the exampleshown in FIG. 2 , the telematics device 222 may receive vehicle drivingbehavior data from vehicle sensor 218, and may transmit the data to aroute selection system 202. As mentioned above, this driving behaviordata may include data indicative of one or more vehicle metrics orvehicle telematics data, such as based on a driver's speed,acceleration, braking, steering, turn signals, and the like. In otherexamples, one or more of the vehicle sensors 218 or systems may beconfigured to receive and transmit data directly from or to a routeselection system 202 without using a telematics device. For instance,telematics device 222 may be configured to receive and transmit datafrom certain vehicle sensors 218 or systems, while other sensors orsystems may be configured to directly receive and/or transmit data to aroute selection system 202 without using the telematics device 222.Thus, telematics device 222 may be optional in certain embodiments.

In some embodiments, telematics device 222 may be configured to executea route selection manager 213 that presents a user interface for adriver and/or user to provide inputs to and receive outputs from theroute selection system 202. The route selection manager 213 may bedownloaded or otherwise installed onto the telematics device 222 usingknown methods. Once installed onto the telematics device 222, a drivermay launch the route selection manager 213 by, for example, operatingbuttons or a touchscreen on the dashboard of the vehicle 217 or byspeech or a voice input. Additionally, or alternatively, the telematicsdevice 222 may be configured to execute a web browser to access a webpage providing an interface for the route selection system 202.

FIG. 2 also illustrates a mobile device 220 which may be any mobiledevice associated with a driver of vehicle 217. In particular, themobile device 220 may belong to a driver of the vehicle 217, wherein thedriver is a customer of an insurance company and enrolled in a programthat allows the driver to participate in route selection. Mobile device220 may be, for example, a smartphone or other mobile phone, personaldigital assistant (PDA), tablet computer, and the like, and may includesome or all of the elements described above with respect to the routeselection manager 101. As shown in this example, some mobile devices(e.g., mobile device 220) may be configured to establish communicationsessions with vehicle-based devices and various internal components ofvehicle 217 via wireless networks or wired connections (e.g., for dockeddevices), whereby such mobile devices 220 may have secure access tointernal vehicle sensors 218 and other vehicle-based systems.

However, in other examples, the mobile device 220 might not connect tovehicle-based computing devices and internal components, but may operateindependently by communicating with vehicle 217 via their standardcommunication interfaces (e.g., telematics device 222, etc.), or mightnot connect at all to vehicle 217. In some cases, the mobile device 220may be configured similarly to the route selection device 212 and mayinterface or communicate with the telematics device 222 via a wiredconnection (e.g., USB, OBD II connector, and the like) or a wirelessconnection (e.g., Bluetooth). In some embodiments, both telematicsdevice 222 and mobile device 220 (or a route selection device 212) maybe employed, whereas in another embodiment, only one of these devicesmay be used with the route selection system to collect driving behaviordata and vehicle locations. For example, a driver associated with thevehicle 217 may choose whether he or she wishes to use his or her mobilephone to capture driving data or whether he or she wishes to have adevice plugged into the vehicle 217 to collect driving behavior data.

FIG. 2 also illustrates example subsystems within the networkenvironment 200. That is, the route selection system 202 may comprise aroute selection subsystem 203 and a plurality of databases 206. Theroute selection subsystem 203 may include one or more applicationservers, computing devices, and other equipment (e.g., conference bridgeequipment) used by company (e.g., insurance provider) personnel toimplement and provide the route selection described herein. For example,the route selection subsystem 203 may include a route selection module205 that is configured with programmed instructions to receive drivingdata for drivers and current vehicle locations from the telematicsdevice 222, determine driving behaviors for each driver based on thedriving data, receive data regarding a calendar of each driver from theroute selection device 212 or the mobile device 220, identify aplurality of appointments in the calendar of each driver, determine aroute comprising multiple destinations for each driver based on vehiclelocation, the one or more driving behaviors of each driver, and theplurality of appointments in the calendar of each driver, transmit theroute for each driver to the mobile device 220 or route selection device212 of each driver, receive a request from the mobile device 220 orroute selection device 212 to add one or more new destinations to theroute for each driver, modify the route to include the one or more newdestinations, and transmit the modified route for each driver to themobile device 220 or route selection device 212 of each driver.

The route selection module 205 may determine multi-stop routes fordrivers and store data regarding the routes as one or more records in adatabase (e.g., database 206) of the route selection system 202, inwhich the one or more records may be associated with driver or customerrecords stored in the database. For example, the one or more records mayidentify a unique identification number for a driver or customer. In oneexample, a mobile device may be associated with the driver through theuse of a unique identification number (e.g., a phone number) for thedriver. In another example, the one or more records may include multiplefields for insurance ratings, including premium level, deductible level,amounts, and the like. The route selection module 205 may update oradjust a route for a driver by inserting one or more identifiers in thefields of the one or more records. In another example, the routeselection module 205 may also store and/or access data regarding adriver's calendar information (e.g., including information regardingappointments in the driver's calendar) and driving behavior data as oneor more records in a database (e.g., database 206). The one or morerecords regarding appointments in the driver's calendar may include afield for a description of each appointment, a field for the appointmentlocation, a field for the appointment time, and the like. The routeselection module may update the appointment description, the appointmentlocation, and/or the appointment time by inserting one or moreidentifiers in the fields of the one or more records.

Furthermore, the route selection module 205 may also update or storeinformation regarding driving data, driving behaviors, driving history,calendar information, and the like in one or more databases 206. Forexample one or more databases 206 may store driving data that iscollected by sensors 215 of the route selection device 215, sensors 225of the mobile device 220, or by vehicle sensors 218. The one or moredatabases 206 may also store calendar information for each driver. Thecalendar information may include a schedule of one or more appointments,meetings, tasks, reminders, and the like, including descriptions,addresses (e.g., corresponding to each location of the meeting), andtimes for each appointment in the driver's calendar.

The route selection subsystem 203 may include functionality that may bedistributed among a plurality of computing devices. For example, theroute selection subsystem 203 may comprise further subsystems, includingclient-side subsystems and server-side subsystems. The client-sidesubsystem may interface with the route selection device 212, telematicsdevice 222, and/or mobile device 220, whereas the server-side subsystemmay interface with application servers and computing devices whichhandle a variety of tasks related to receiving driving data and avehicle location, identifying driving behaviors based on driving data,identifying appointments in a driver's calendar, determining multi-stoproutes with multiple destinations based on the vehicle location, drivingbehaviors, and appointments in the driver's calendar, transmittingmulti-stop routes to drivers, modifying multi-stop routes to include newdestinations, and transmitted modified multi-stop routes to drivers. Forexample, the subsystem 203 may also include one or more servers, such asa driving behaviors analysis server 207. The driving behaviors analysisserver 207 may be configured to perform aspects of determining drivingbehaviors from collected driving data as described herein. For example,the driving behaviors analysis server 207 may analyze collected drivingdata for a driver of the vehicle 217, identify one or more drivingbehaviors, determine routes for a driver based on the one or moredriving behaviors, and/or provide notifications of the routes to thedriver of vehicle 217.

The subsystems, application servers, and computing devices of the routeselection subsystem 203 may also have access to the plurality ofdatabases 206. In some embodiments, the plurality of databases 206 maybe incorporated into the route selection subsystem 203 or may beseparate components in the route selection subsystem 203. As an example,the plurality of databases 206 (e.g., databases 206 a-206 n) maycomprise an accounts and billing database, a driving behaviors database,a calendar information database, and other databases. One or more of thedatabases 206 a-206 n may comprise information regarding at least one ofdriving behavior data, vehicle information, calendar informationincluding appointment times and locations, estimated arrival times,route selection information, driver preferences, and account and billinginformation. For example, databases 206 a-206 n may store one or morerecords of driving history, such as previous locations at which thedriver has had appointments, previous driving behaviors, drivingpatterns, and the like. The data stored in the plurality of databases206 may be collected and compiled by the route selection device 212, thetelematics device 222, the route selection subsystem 203, or by serversand subsystems within the route selection subsystem 203.

In some embodiments, the route selection module 205 may access calendarinformation stored in one or more databases 206 to identify one or moretasks that were not previously completed or appointments that werecanceled. For example, a driver might not have been able to complete atask, such as grocery shopping, or keep an appointment, such as adoctor's appointment or a nail salon appointment, on a certain daybecause of a busy work day or a change in his or her schedule. Thus, theroute selection module 205 may transmit, to the mobile device 220 orroute selection device 212, one or more notifications or remindersregarding the uncompleted tasks and/or canceled appointments. The routeselection module 205 may also identify times in the driver's calendar atwhich the driver may be available to complete the remaining tasks ortimes in the driver's calendar at which the driver may be available forrescheduling a previously canceled appointment. The route selectionmodule 205 may further identify locations of appointments that arealready scheduled in the driver's calendar and locations correspondingto the uncompleted tasks or canceled appointments, and determine whetherthe driver will have time to drive to the locations corresponding to theuncompleted tasks and/or canceled appointments in between appointmentsthat are already scheduled in the driver's calendar. Thus, the routeselection module 205 may be able to generate and transmit to the driveran optimized route navigating the driver from a location of a scheduledappointment to another location corresponding to an uncompleted task orcanceled appointment.

Additionally, the route selection module 205 may also access calendarinformation and identify conflicts in the driver's schedule based onappointment times, driving behaviors, traffic conditions, weatherconditions, and the like. For example, a driver may have a firstappointment at 8 AM in a first city, and a second appointment at 9 AM ina second city that is located 10, 20, or any other number of miles awayfrom the first city. Based on current traffic conditions and drivingbehaviors of the driver, the route selection module 205 may determinethat the driver will not be able to make it to the second appointment ontime, and may transmit an alert to the driver's mobile device 220 orroute selection device 212 to notify the driver to reschedule the secondappointment. In another example, a driver may have accidentallyscheduled two appointments at the same time, the route selection module205 may parse data regarding the calendar to identify another time andday at which the driver may reschedule one of appointments.

Additionally or alternatively, the route selection module 205 may alsobe able to prioritize scheduled appointments for a driver. For example,the route selection module 205 may be able to prioritize assignedpriority levels to the multiple appointments in the driver's calendarand navigate the driver to the appointments with the higher prioritylevels first. In some cases, the route selection module 205 may be ableto prioritize appointments based on the driver's preferences. That is,the driver may set preferences for the route selection module 205 toprioritize certain meetings, appointments, and/or tasks over others inhis or her calendar. For example, the driver may wish to prioritizeappointments, such as picking up his or her kids from school or doctor'sappointments over work meetings, or vice versa. In some embodiments, thedriver may indicate these preferences using the route selection manager213 on the route selection device 212. By prioritizing scheduledmeetings for drivers based on calendars, email inbox, and/or driverpreferences, the route selection system 202 may provide drivers withadditional functionality to enhance the navigation services.

FIG. 3 illustrates a flow diagram of an example method in accordancewith aspects of the present disclosure. In particular, FIG. 3illustrates example method steps for receiving driving data, a vehiclelocation, and data regarding a driver's calendar, determining drivingbehaviors, identifying a plurality of appointments in the driver'scalendar, determining a multi-stop route based on the vehicle location,driving behaviors, and the plurality of appointments, transmitting themulti-stop route to the driver, modifying the multi-stop route based oninput from the driver, and transmitting the modified multi-stop route tothe driver. The steps of FIG. 3 may be performed by subsystems,application servers, and computing devices of the route selection system202 (e.g., route selection subsystem 203). One or more of the steps ofFIG. 3 may be performed by executing a route selection program (e.g., aroute selection mobile application) and/or by operating a particularlyconfigured computing device of the route selection system 202.

The method of FIG. 3 may begin with a step 301 of receiving driving datafor a driver and a vehicle location. For example, the route selectionsystem 202 may receive driving data for a driver of the vehicle 217,along with the current location of the vehicle 217, and the timecorresponding to the current location of the vehicle 217. In someembodiments, the driving data of the vehicle 217 may be collected over aperiod of time by the telematics device 222, route selection device 212,or mobile device 220. Driving data may include real-time data that iscollected by vehicle sensors 218, sensors 215 of the route selectiondevice 215, or sensors 225 of the mobile device 220, and the real-timedata may include at least one of a driving speed, an accelerationmeasurement, a braking measurement, a steering measurement, a number ofmiles driven for a trip, a road condition rating, or a trip duration.The current location of the vehicle 217 may include GPS data indicatingthe present location of the vehicle 217, along with a time and date ofwhen the GPS data was obtained (e.g., the time at which the vehicle 217was at the specific location).

At step 302, the route selection system may determine driving behaviorsbased on the driving data. For example, the route selection system 202may identify one or more patterns in the one or more vehicle metrics orvehicle telematics data, such as a number of speeding events, sharpturns, hard braking events, unsafe or safe steering, number of turnsignals, and the like. At step 303, the route selection system mayreceive data regarding a calendar of the driver. For example, the routeselection system 202 may receive data regarding a driver's calendar fromthe mobile device 220 or the route selection device 212. In anotherexample, the route selection system 202 may access a calendarapplication installed on the mobile device 220 or the route selectiondevice 212 of the driver and obtain calendar data through the calendarapplication. In yet another example, the route selection system 202 mayaccess data regarding the driver's calendar from a database (e.g.,database 206) storing calendar information for the driver.

At step 304, the route selection system may identify a plurality ofappointments in the driver's calendar. For example, the route selectionsystem 202 may parse data regarding the calendar of the driver in orderto identify a plurality of appointments in the driver's calendar, alongwith a location and time for each appointment. At step 305, the routeselection system may determine a route with multiple destinations forthe driver based on the vehicle location, one or more driving behaviors,and the plurality of appointments. For example, the route selectionsystem 202 may determine a multi-stop route comprising turn by turndirections navigating the user to each destination corresponding to eachappointment in the driver's calendar. In some cases, the route selectionsystem 202 may determine a customized multi-stop route comprising themultiple destinations further based on the time of each appointment inthe driver's calendar and the average length of time it takes the driverto reach the destination for each appointment.

At step 306, the route selection system may transmit the route with themultiple destinations to a device corresponding to the driver. Forexample, the route selection system 202 may transmit the route,including navigation to the multiple destinations for the appointmentsin the driver's calendar, to the driver's mobile device 220 or the routeselection device 212 corresponding to the driver. At step 307, the routeselection system may determine whether or not the driver desires tomodify the route. For example, the route selection system 202 maytransmit the route with the multiple destinations to the driver, and thedriver may either accept or modify the route by providing user inputthrough the mobile device 220 or the route selection device 212. If thedriver accepts the route (e.g., by providing user input through themobile device 220 or the route selection device 212 to the routeselection system 202) and does not desire to modify the route, then themethod in this example is completed, and the driver may use the routeprovided by the route selection system 202 to drive to the multipleappointments in his or her calendar.

However, if the driver does not accept the route (e.g., by providinguser input through the mobile device 220 or the route selection device212 to the route selection system 202) and desires to modify the route,then the method in this example proceeds to step 308. At step 308, theroute selection system may receive a request to add a new destination tothe route for the driver. For example, the route selection system 202may receive a request transmitted from the driver's mobile device 220 orthe route selection device 212 to add a new destination to the routebased on a new appointment for the driver. At step 309, the routeselection system may modify the route to include the new destination.For example, the route selection system 202 may modify the route toinclude the new destination by identifying priority levels of themultiple destinations in the route for the driver, assigning a newpriority level to the new destination, and modifying the route based onthe priority levels of the multiple destinations and the newdestination. At step 310, the route selection system may transmit themodified route for the driver to a device corresponding to the driver.For example, the route selection system 202 may transmit the modifiedroute, including navigation to the new destination along with themultiple destinations for the appointments in the driver's calendar, tothe driver's mobile device 220 or the route selection device 212corresponding to the driver.

FIG. 4 illustrates a flow diagram of an example method in accordancewith aspects of the present disclosure. In particular, FIG. 4illustrates example method steps for parsing data regarding a driver'scalendar, identifying locations and times of each appointment in thedriver's calendar, identifying each location as a destination for aroute, analyzing driving history to determine average length of time ittakes the driver to reach the location for each appointment in thedriver's calendar, and determining a route with multiple destinationsbased on the time of each appointment and the average length of time ittakes the driver to reach the location for each appointment in thedriver's calendar. The steps of FIG. 4 may be performed by subsystems,application servers, and computing devices of the route selection system202 (e.g., route selection subsystem 203). One or more of the steps ofFIG. 4 may be performed by executing a route selection program (e.g., aroute selection mobile application) and/or by operating a particularlyconfigured computing device of the route selection system 202.

The method of FIG. 4 may begin with a step 401 of parsing data regardinga calendar of a driver. For example, the route selection system 202 mayparse data regarding a calendar of the driver in order to identify aplurality of appointments for the driver. In some cases, the routeselection system 202 may access a calendar application installed on themobile device 220 or the route selection device 212 of the driver andparse the calendar data through the calendar application. In yet anotherexample, the route selection system 202 may access and parse dataregarding the driver's calendar from a database (e.g., database 206)storing calendar information for the driver.

At step 402, the route selection system may identify the location andtime for each appointment in a plurality of appointments in the driver'scalendar. For example, the route selection system 202 may identify anaddress for an appointment or task and the time of each appointmentbased on parsing the calendar data. At step 403, the route selectionsystem may identify each location as a destination for a multi-stoproute for the driver. For example, the route selection system 202 mayidentify several locations for the plurality of appointments and maycategorize each location to correspond to a destination for a multi-stoproute for the driver.

At step 404, the route selection system may analyze the driving historyof the driver to determine an average length of time it takes for thedriver to reach the location for each appointment. For example, theroute selection system 202 may access driving history data of the driverstored in a database (e.g., database 206), in which the driving historydata may indicate data regarding the locations to which the driver haspreviously traveled over a period of time (e.g., in the past day, twodays, week, 30 days, two months, or another period of time) and theamounts of time that it took the driver to reach each of the locations.The route selection system 202 may analyze the driving history data tocalculate an average length of time (e.g., 10 minutes, 30 minutes, onehour, or any other length of time) that it takes for the driver to reacheach particular location corresponding to the multiple appointments inthe driver's calendar.

At step 405, the route selection system may determine a route withmultiple destinations based on the time of each appointment and theaverage length of time it takes the driver to reach the location foreach appointment. For example, the route selection system 202 maydetermine an optimized multi-stop route for the driver based on the timeof each appointment and the average length of time it takes the driverto reach the location for each appointment.

Aspects of the invention have been described in terms of illustrativeembodiments thereof. Numerous other embodiments, modifications, andvariations within the scope and spirit of the appended claims will occurto persons of ordinary skill in the art from a review of thisdisclosure. For example, one of ordinary skill in the art willappreciate that the steps illustrated in the illustrative figures may beperformed in other than the recited order, and that one or more stepsillustrated may be optional in accordance with aspects of the invention.

What is claimed is:
 1. A system comprising: memory that storesinformation regarding telematics data of a vehicle accessible over anetwork; and a processor that executes instructions stored in thememory, wherein the processor is configured to: determine one or moredriving behaviors of a driver of the vehicle based on telematics datareceived via a telematics device associated with the vehicle, thetelematics data comprises real-time data that is collected by one ormore sensors while the driver is driving, wherein the real-time datacomprises at least one of a driving speed, an acceleration measurement,a braking measurement, and a steering measurement; identify a pluralityof destinations of the driver; determine a route comprising theplurality of destinations based on a vehicle location, the one or moredriving behaviors of the driver, and a route risk score, wherein theroute risk score indicates a likelihood of an accident occurring on aspecified route based on historical accident data associated with thatspecified route; receive a request to add another destination to theroute for the driver; and modify the route to include the anotherdestination, resulting in a modified route comprising the anotherdestination, wherein modifying the route includes: identifying prioritylevels of the plurality of destinations in the route; assigning a newpriority level to the another destination based on the request to addthe another destination to the route of the driver, wherein the newpriority level comprises a value that is higher than each of thepriority levels of the plurality of destinations; and generating themodified route comprising navigation to the another destination prior tonavigation to the plurality of destinations.
 2. The system of claim 1,wherein the plurality of destinations each correspond to a respectiveappointment of a plurality of appointments, and wherein the processor isfurther configured to: identify a location and time for each of theplurality of appointments by parsing data stored in a schedule of thedriver; analyze a driving history of the driver to determine an averagelength of time it takes the driver to reach the location for eachappointment; and determine the route comprising the plurality ofdestinations further based on a time duration for each appointment andthe average length of time it takes the driver to reach the location foreach appointment.
 3. The system of claim 1, wherein determining theroute comprising the plurality of destinations is further based on atleast one of traffic and weather.
 4. The system of claim 1, wherein therequest to add the another destination to the route for the driver istriggered based on an electronic invitation received by the driver afterthe route is determined.
 5. The system of claim 1, wherein modifying theroute further includes: transmitting the modified route to the driver.6. The system of claim 1, wherein the processor is further configured toreceive, from the one or more sensors and via the telematics device, thetelematics data of the driver of the vehicle and the vehicle location.7. A non-transitory computer-readable medium having embodied thereon aprogram executable by a processor to perform a method for multi-stoprouting, the method comprising: determine one or more driving behaviorsof a driver of a vehicle based on telematics data received via atelematics device associated with the vehicle, the telematics datacomprises real-time data that is collected by one or more sensors whilethe driver is driving, and wherein the real-time data comprises at leastone of a driving speed, an acceleration measurement, a brakingmeasurement, and a steering measurement; identify a plurality ofappointments in a schedule of the driver of the vehicle; determine aroute comprising multiple destinations for the driver based on alocation of the vehicle, a route risk score, and the plurality ofappointments, wherein the route risk score indicates a likelihood of anaccident occurring on a specified route based on historical accidentdata associated with that specified route; receive a request to addanother destination to the route for the driver; and modify the route toinclude the another destination, resulting in a modified routecomprising the another destination, wherein modifying the routeincludes: identifying priority levels of the multiple destinations inthe route; assigning a new priority level to the another destinationbased on the request to add the another destination to the schedule ofthe driver, wherein the new priority level comprises a value that ishigher than each of the priority levels of the multiple destinations;and generating the modified route in which the multiple destinations andthe another destination are ordered based on the priority levels of themultiple destinations and the new priority level of the anotherdestination.
 8. The non-transitory computer-readable medium of claim 7,wherein the multiple destinations each correspond to a respectiveappointment of the plurality of appointments, and wherein the methodfurther comprising: identifying a location and time for each of theplurality of appointments by parsing data stored in the schedule of thedriver; analyzing a driving history of the driver to determine anaverage length of time it takes the driver to reach the location foreach appointment; and determining the route comprising the multipledestinations further based on a time duration for each appointment andthe average length of time it takes the driver to reach the location foreach appointment.
 9. The non-transitory computer-readable medium ofclaim 7, wherein determining the route comprising the multipledestinations is further based on at least one of traffic and weather.10. The non-transitory computer-readable medium of claim 7, wherein therequest to add the another destination to the route for the driver istriggered based on an electronic invitation received by the driver afterthe route is determined.
 11. The non-transitory computer-readable mediumof claim 7, wherein modifying the route further includes: transmittingthe modified route to the driver.
 12. The non-transitorycomputer-readable medium of claim 7, wherein the method furthercomprising receiving, from the one or more sensors and via thetelematics device, the telematics data of the driver of the vehicle andthe vehicle location.
 13. The non-transitory computer-readable medium ofclaim 7, wherein at least one of the priority levels of the multipledestinations is user-specific in a calendar of the driver.
 14. A methodcomprising: receiving, by a computing device, telematics data associatedwith a driver of a vehicle via a telematics device, the telematics datacomprises real-time data that is collected by one or more sensors whilethe driver is driving, wherein the real-time data comprises at least oneof a driving speed, an acceleration measurement, a braking measurement,and a steering measurement; determine one or more driving behaviors ofthe driver of the vehicle based on the telematics data received via thetelematics device associated with the vehicle; identifying, by thecomputing device, a plurality of destinations of the driver;determining, by the computing device, a route comprising the pluralityof destinations based on a route risk score and the received telematicsdata, wherein the route risk score indicates a likelihood of an accidentoccurring on a specified route based on historical accident dataassociated with that specified route; receiving, by the computingdevice, a request to add another destination to the route for thedriver; and modifying, by the computing device, the route to include theanother destination, resulting in a modified route comprising theanother destination, wherein modifying the route includes: identifyingpriority levels of the plurality of destinations in the route; assigninga new priority level to the another destination based on the request toadd the another destination to the route of the driver, wherein the newpriority level comprises a value that is higher than each of thepriority levels of the plurality of destinations; and generating themodified route comprising navigation to the another destination prior tonavigation to the plurality of destinations.
 15. The method of claim 14,wherein the plurality of destinations each correspond to a respectiveappointment of a plurality of appointments, and wherein the methodfurther comprises: identifying a location and time for each of theplurality of appointments by parsing data stored in a schedule of thedriver; analyzing a driving history of the driver to determine anaverage length of time it takes the driver to reach the location foreach appointment; and determining the route comprising the plurality ofdestinations further based on a time duration for each appointment andthe average length of time it takes the driver to reach the location foreach appointment.
 16. The method of claim 14, wherein determining theroute comprising the plurality of destinations is further based on atleast one of traffic and weather.
 17. The method of claim 14, whereinthe request to add the another destination to the route for the driveris triggered based on an electronic invitation received by the driverafter the route is determined.
 18. The method of claim 14, whereinmodifying the route further includes: transmitting the modified route tothe driver.
 19. The method of claim 14, wherein at least one of thepriority levels of the plurality of destinations is user-specific in acalendar of the driver.